home *** CD-ROM | disk | FTP | other *** search
- PROGRAM HAT;
-
- ($N+)(TURN ON NATIVE CODE GENERATION)
- (R-)(TURN OFF RANGE CHECKING)
- USES TURTLEGRAPHICS;
-
- CONST
- P=160;
- Q=100;
- XP=144;
- YP=56;
- ZP=64;
-
- VAR
- X1, Y1, ZF, XF, ZT, XT, XR, YY, XPZP : REAL;
- XP2, ZI, XL, XI : INTEGER;
- FOREVER : BOOLEAN;
- A : INTEGER;
-
- BEGIN (** MAIN PROGRAM **)
- XR := 1.5*3.1415927;
- XF := XR/XP;
- XPZP := XP/ZP;
- XP2 := XP*XP;
-
- ZF := XR/ZP;
- FOREVER := FALSE;
-
- FOR ZI := -Q TO Q+1 DO
- BEGIN
- IF (ZI > -ZP) AND (ZI < ZP) THEN
- BEGIN
- ZT := ZI * XPZP;
- XL := TRUNC (0.5 + SQRT (XP2 - ZT*ZT));
- FOR XI := -XL TO XL DO
- BEGIN
- XT := SQRT (XI*XI + ZT*ZT) * XF;
- YY := (SIN (XT) + 0.4 * SIN (3 * XT)) * YP;
- X1 := XI + ZI + P;
- Y1 := YY - ZI + Q;
- SETPIXEL (0, X1, Y1, 2);
- END;
- END; (IF)
- END; (NEXT ZI)
-
- REPEAT
- A := A+1
- UNTIL FOREVER;
-
- END. (** MAIN PROGRAM **)